package model;

import java.io.Serializable;

/**
 * Classe representant une personne
 * @author Lefevre, Thoue
 */
public class User implements Serializable{
    private String nom;
    private String prenom;
    private String ip;
    private int port;
    private int id;
    /**
     * Constructeur par defaut
     */
    public User() {
        this.nom = "Anonymous";
        this.prenom = "Anonymous";
        this.ip = "127.0.0.1";
        this.port = 2012;
    }
    /**
     * Constructeur secondaire -
     * Il est utiliser pour creer un utilisateur
     * identifie uniquement par son ip et port.
     * @param ip adresse ip d'ecoute de l'utilisateur
     * @param port Port d'ecoute de l'utilisateur
     */    
    public User(String ip, int port) {
        this.nom = "";
        this.prenom = "";
        this.ip = ip;
        this.port = port;
    }
    /**
     * Constructeur secondaire -
     * Il est utiliser pour creer un utilisateur
     * quand on connais tout ses attributs.
     * @param nom Nom de l'utilisateur
     * @param prenom Prenom de l'utilisateur
     * @param ip adresse ip d'ecoute de l'utilisateur
     * @param port Port d'ecoute de l'utilisateur
     */ 
    public User(String nom, String prenom, String ip, int port) {
        this.nom = nom;
        this.prenom = prenom;
        this.ip = ip;
        this.port = port;
    }
    /**
     * Getter de l'adresse ip
     * @return adresse ip ecoute
     */
    public String getIp() {   return ip;    }
    /**
     * Setter de l'adresse ip
     * @param ip adresse ip ecoute
     */
    public void setIp(String ip) {    this.ip = ip;    }
     /**
     * Getter du nom de l'utilisateur
     * @return nom de l'utilisateur
     */
    public String getNom() {    return nom;    }
    /**
     * Setter du nom de l'utilisateur
     * @param nom de l'utilisateur
     */
    public void setNom(String nom) {    this.nom = nom;    }
     /**
     * Getter du port ecoute par l'utilisateur
     * @return port ecoute
     */
    public int getPort() {    return port;    }
     /**
     * Setter du port ecoute par l'utilisateur
     * @param port port ecoute
     */
    public void setPort(int port) {    this.port = port;    }
     /**
     * Getter du prenom de l'utilisateur
     * @return prenom de l'utilisateur
     */
    public String getPrenom() {    return prenom;    }
     /**
     * Setter du prenom de l'utilisateur
     * @param prenom prenom de l'utilisateur
     */
    public void setPrenom(String prenom) {     this.prenom = prenom;    }
     /**
     * Getter de l'indentifiant de l'utilisateur
     * @return id de l'utilisateur
     */
    public int getId() {   return id;    }
     /**
     * Setter de l'indentifiant de l'utilisateur
     * @param id id de l'utilisateur
     */
    public void setId(int id) {   this.id = id;    } 
}